
#ifndef LISTA_H_
#define LISTA_H_

#include "Nodo.h"
#include "Termino.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define LISTA_VACIA 1
#define LISTA_NO_VACIA 0
#define HAY_SIGUIENTE 1
#define NO_SIGUIENTE 0

class Lista {
public:
	Lista();
	~Lista();
	int avanzar();
	int lista_vacia();
	void* obtener_elem();
	void insertar_lista(Termino* elem);
	void avanzar_primero();
	void grabar(FILE* salida, int modo);
	char* grabar();
	void quitar(Nodo* nodo);
	void vaciar();
	void agregar_nodo(Nodo* nodo);
	Nodo* obtener_actual();
	int get_size();
private:
	Nodo *primero;
	Nodo *actual;
	int size;
};

#endif /* LISTA_H_ */
